home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Celestin Apprentice 7
/
Apprentice-Release7.iso
/
Source Code
/
Pascal
/
Snippets
/
PNL Libraries
/
Assembly
/
JGNE.a
< prev
next >
Wrap
Text File
|
1994-08-28
|
1KB
|
87 lines
include 'sysequ.a'
include 'traps.a'
proc
export InitJGNE, FinishJGNE
; procedure InitJGNE(addr:ProcPtr; globals:ptr);
; { procedure Addr(var er:EventRecord; var retval:integer; globals:ptr); }
InitJGNE
lea data,a1
move.l 8(sp),(a1)+
move.l JGNEFilter,(a1)+
move.l 4(sp),(a1)+
clr.w (a1)+
move.l #6,d0
_NewPtr ,sys
lea sysptr,a1
move.l a0,(a1)
move.w #$4EF9,(a0)
lea doJGNE,a1
move.l a1,2(a0)
lea JGNEFilter,a1
move.l a0,(a1)
_FlushDataCache
_FlushInstructionCache
move.l (sp)+,a0
add.l #8,sp
jmp (a0)
FinishJGNE
; procedure Finish;
move.l sysptr,a0
move.l oldaddr,a1
move.l a1,2(a0)
_FlushDataCache
_FlushInstructionCache
rts
doJGNEStack record 0
savea1 ds.l 1
Return ds.l 1
retval ds.w 1
endr
with doJGNEStack
; A1 = event register ptr.
; return A1 and D0.
doJGNE
move.l a1,-(sp)
lea injgne,a0
tst.w (a0)
bne.s notme
move.w #1,(a0)
lea retval(sp),a0
move.l a1,-(sp)
move.l a0,-(sp)
move.l globals,-(sp)
move.l newaddr,a0
jsr (a0)
lea injgne,a0
clr.w (a0)
move.w retval(sp),d0
notme
move.l (sp)+,a1
move.l oldaddr,a0
jmp (a0)
data
newaddr ds.l 1
oldaddr ds.l 1
globals ds.l 1
injgne ds.w 1
sysptr ds.l 1
endp
end
asm -wb "{active}"